home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
comm2
/
termsorc.lha
/
Extras
/
Source
/
term-source.lha
/
PhonePanelUI.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-09-29
|
35KB
|
1,465 lines
/*
** PhonePanelUI.c
**
** The phonebook user interface creation routines
**
** Copyright © 1990-1995 by Olaf `Olsen' Barthel
** All Rights Reserved
**
** :ts=4
*/
#include "termGlobal.h"
// The gadget IDs are in there
#include "PhonePanel.h"
LayoutHandle * __regargs
CreateEditorHandle(struct Window *Parent,struct List *PhoneList,ULONG Count,struct PhoneNode *Node,BOOL Activate,struct MsgPort *UserPort)
{
STATIC LONG LabelTable1[] =
{
MSG_PHONEBOOK_SETTINGS_SERIAL_TXT,
MSG_PHONEBOOK_SETTINGS_MODEM_TXT,
MSG_PHONEBOOK_SETTINGS_SCREEN_TXT,
MSG_PHONEBOOK_SETTINGS_TERMINAL_TXT,
MSG_PHONEBOOK_SETTINGS_EMULATION_TXT,
MSG_PHONEBOOK_SETTINGS_CLIPBOARD_TXT,
MSG_PHONEBOOK_SETTINGS_CAPTURE_TXT,
MSG_PHONEBOOK_SETTINGS_COMMANDS_TXT,
-1
};
STATIC LONG LabelTable2[] =
{
MSG_PHONEBOOK_SETTINGS_MISCELLANEOUS_TXT,
MSG_PHONEBOOK_SETTINGS_PATHS_TXT,
MSG_PHONEBOOK_SETTINGS_TRANSFER_TXT,
MSG_PHONEBOOK_SETTINGS_TRANSLATION_TXT,
MSG_PHONEBOOK_SETTINGS_FUNCTION_KEYS_TXT,
MSG_PHONEBOOK_SETTINGS_CURSOR_KEYS_TXT,
MSG_PHONEBOOK_SETTINGS_FAST_MACROS_TXT,
MSG_PHONEBOOK_SETTINGS_RATES_TXT,
-1
};
LayoutHandle *Handle;
BOOL IsFirst,IsLast,Disabled,RatesValid;
WORD LabelLen1,LabelLen2;
struct Configuration *LocalConfig;
struct IBox Bounds;
LONG i,Len;
if(Node)
{
IsFirst = (Node -> Entry -> Count == -1 || Node -> Entry -> Count == 0);
IsLast = (Node -> Entry -> Count == -1 || Node -> Entry -> Count == Count - 1);
Disabled = FALSE;
LocalConfig = Node -> Entry -> Config;
RatesValid = (Node -> Entry -> TimeDateList . mlh_Head -> mln_Succ != NULL && !Node -> Entry -> Header -> NoRates);
}
else
{
IsFirst = TRUE;
IsLast = TRUE;
Disabled = TRUE;
LocalConfig = NULL;
RatesValid = FALSE;
}
if(Handle = LT_CreateHandleTags(Parent -> WScreen,
LH_LocaleHook,&LocaleHook,
TAG_DONE))
{
for(i = LabelLen1 = 0 ; LabelTable1[i] != -1 ; i++)
{
Len = LT_LabelChars(Handle,LocaleString(LabelTable1[i]));
if(Len > LabelLen1)
LabelLen1 = Len;
}
for(i = LabelLen2 = 0 ; LabelTable2[i] != -1 ; i++)
{
Len = LT_LabelChars(Handle,LocaleString(LabelTable2[i]));
if(Len > LabelLen2)
LabelLen2 = Len;
}
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, VERTICAL_KIND,
LA_LabelID, MSG_PHONEBOOK_ENTRY_DATA_TXT,
TAG_DONE);
{
LT_New(Handle,
LA_Type, STRING_KIND,
LA_LabelID, MSG_PHONEBOOK_SYSTEM_NAME_TXT,
LA_Chars, 30,
LA_ID, GAD_SYSTEM_NAME,
GTST_String, Node ? Node -> Entry -> Header -> Name : (STRPTR)"",
GTST_MaxChars, 39,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, STRING_KIND,
LA_LabelID, MSG_PHONEBOOK_COMMENT_TXT,
LA_ID, GAD_COMMENT,
GTST_String, Node ? Node -> Entry -> Header -> Comment : (STRPTR)"",
GTST_MaxChars, 99,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, STRING_KIND,
LA_LabelID, MSG_PHONEBOOK_NUMBERS_TXT,
LA_ID, GAD_NUMBERS,
GTST_String, Node ? Node -> Entry -> Header -> Number : (STRPTR)"",
GTST_MaxChars, 99,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_LabelID, MSG_PHONEBOOK_QUICK_MENU_TXT,
LA_ID, GAD_QUICK_MENU,
GTCB_Checked, Node ? Node -> Entry -> Header -> QuickMenu : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_LabelID, MSG_PHONEPANEL_AUTO_DIAL_TXT,
LA_ID, GAD_AUTODIAL,
GTCB_Checked, Node ? Node -> Entry -> Header -> AutoDial : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, XBAR_KIND,
TAG_DONE);
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_LabelID, MSG_HIDE_TXT,
LA_ID, GAD_HIDE_USERNAME_PASSWORD,
GTCB_Checked, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, STRING_KIND,
LA_LabelID, MSG_PHONEBOOK_USER_NAME_TXT,
LA_ID, GAD_USER_NAME,
GTST_String, "",
GTST_MaxChars, 99,
GA_Disabled, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, STRING_KIND,
LA_LabelID, MSG_PHONEBOOK_LOGIN_PASSWORD_TXT,
LA_ID, GAD_USER_PASSWORD,
LAST_LastGadget,TRUE,
GTST_String, "",
GTST_MaxChars, 99,
GA_Disabled, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_TXT,
TAG_DONE);
{
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_SERIAL_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> SerialConfig != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen1,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_SERIAL_TXT,
LA_ID, GAD_SERIAL_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> SerialConfig),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_MODEM_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> ModemConfig != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen1,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_MODEM_TXT,
LA_ID, GAD_MODEM_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> ModemConfig),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_SCREEN_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> ScreenConfig != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen1,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_SCREEN_TXT,
LA_ID, GAD_SCREEN_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> ScreenConfig),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_TERMINAL_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> TerminalConfig != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen1,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_TERMINAL_TXT,
LA_ID, GAD_TERMINAL_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> TerminalConfig),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_EMULATION_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> EmulationConfig != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen1,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_EMULATION_TXT,
LA_ID, GAD_EMULATION_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> EmulationConfig),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_CLIPBOARD_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> ClipConfig != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen1,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_CLIPBOARD_TXT,
LA_ID, GAD_CLIPBOARD_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> ClipConfig),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_CAPTURE_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> CaptureConfig != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen1,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_CAPTURE_TXT,
LA_ID, GAD_CAPTURE_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> CaptureConfig),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_COMMAND_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> CommandConfig != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen1,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_COMMANDS_TXT,
LA_ID, GAD_COMMAND_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> CommandConfig),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_MISC_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> MiscConfig != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen2,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_MISCELLANEOUS_TXT,
LA_ID, GAD_MISC_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> MiscConfig),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_PATH_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> PathConfig != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen2,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_PATHS_TXT,
LA_ID, GAD_PATH_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> PathConfig),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_TRANSFER_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> TransferConfig != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen2,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_TRANSFER_TXT,
LA_ID, GAD_TRANSFER_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> TransferConfig),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_TRANSLATION_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> TranslationFileName != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen2,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_TRANSLATION_TXT,
LA_ID, GAD_TRANSLATION_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> TranslationFileName),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_MACRO_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> MacroFileName != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen2,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_FUNCTION_KEYS_TXT,
LA_ID, GAD_MACRO_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> MacroFileName),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_CURSOR_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> CursorFileName != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen2,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_CURSOR_KEYS_TXT,
LA_ID, GAD_CURSOR_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> CursorFileName),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_FASTMACRO_STATE,
GTCB_Checked, LocalConfig ? (LocalConfig -> FastMacroFileName != NULL) : FALSE,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen2,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_FAST_MACROS_TXT,
LA_ID, GAD_FASTMACRO_EDIT,
GA_Disabled, Disabled || (LocalConfig && !LocalConfig -> FastMacroFileName),
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_RATE_STATE,
GTCB_Checked, RatesValid,
GA_Disabled, Disabled,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_Chars, LabelLen2,
LA_LabelID, MSG_PHONEBOOK_SETTINGS_RATES_TXT,
LA_ID, GAD_RATE_EDIT,
GA_Disabled, Disabled || !RatesValid,
LABT_Smaller, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, XBAR_KIND,
LAXB_FullSize, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
LAGR_SameSize, TRUE,
LAGR_Spread, TRUE,
TAG_DONE);
{
LT_New(Handle,
LA_Type, TAPEDECK_KIND,
LATD_ButtonType, TDBT_PREVIOUS,
LATD_Smaller, TRUE,
LA_ID, GAD_FIRST_ENTRY,
GA_Disabled, Disabled || IsFirst,
TAG_DONE);
LT_New(Handle,
LA_Type, TAPEDECK_KIND,
LATD_ButtonType, TDBT_REWIND,
LATD_Smaller, TRUE,
LA_ID, GAD_PREVIOUS_ENTRY,
GA_Disabled, Disabled || IsFirst,
TAG_DONE);
LT_New(Handle,
LA_Type, TAPEDECK_KIND,
LATD_ButtonType, TDBT_PLAY,
LATD_Smaller, TRUE,
LA_ID, GAD_NEXT_ENTRY,
GA_Disabled, Disabled || IsLast,
TAG_DONE);
LT_New(Handle,
LA_Type, TAPEDECK_KIND,
LATD_ButtonType, TDBT_NEXT,
LATD_Smaller, TRUE,
LA_ID, GAD_LAST_ENTRY,
GA_Disabled, Disabled || IsLast,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_GLOBAL_CLOSE_TXT,
LABT_EscKey, TRUE,
LABT_ExtraFat, TRUE,
LA_ID, GAD_CLOSE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
if(Parent == Window)
{
Bounds . Left = WindowLeft + Window -> LeftEdge;
Bounds . Top = WindowTop + Window -> TopEdge;
Bounds . Width = WindowWidth;
Bounds . Height = WindowHeight;
}
if(LT_Build(Handle,
LAWN_TitleID, MSG_PHONEBOOK_EDIT_TXT,
LAWN_IDCMP, IDCMP_CLOSEWINDOW,
LAWN_UserPort, UserPort,
LAWN_HelpHook, &GuideHook,
WA_DepthGadget, TRUE,
WA_DragBar, TRUE,
WA_RMBTrap, TRUE,
WA_Activate, Activate,
WA_CloseGadget, TRUE,
WA_SimpleRefresh, TRUE,
Parent == Window ? LAWN_Bounds : TAG_IGNORE,&Bounds,
Parent == Window ? TAG_IGNORE : LAWN_Parent,Parent,
TAG_DONE))
{
if(Activate)
{
LT_ShowWindow(Handle,TRUE);
if(!Disabled)
LT_Activate(Handle,GAD_SYSTEM_NAME);
}
return(Handle);
}
else
LT_DeleteHandle(Handle);
}
return(NULL);
}
LayoutHandle * __regargs
CreateManagerHandle(struct Window *Parent,struct List *PhoneList,ULONG Count,ULONG *Grouper,STRPTR *Labels,struct MsgPort *UserPort,STRPTR WindowTitle)
{
STATIC LONG LabelTable[] =
{
MSG_PHONEBOOK_TAG_ALL_TXT,
MSG_PHONEBOOK_TOGGLE_ALL_TXT,
MSG_PHONEBOOK_UNTAG_ALL_TXT,
MSG_PHONEBOOK_TAG_BY_PATTERN_TXT,
MSG_PHONEBOOK_EDIT_ENTRY_TXT,
MSG_PHONEBOOK_COPY_ENTRY_TXT,
MSG_PHONEBOOK_ADD_ENTRY_TXT,
MSG_PHONEBOOK_MAKE_GROUP_TXT,
MSG_PHONEBOOK_DIAL_TXT,
MSG_PHONEBOOK_USE_ENTRY_TXT,
MSG_PHONEBOOK_DELETE_ENTRY_TXT,
MSG_PHONEBOOK_SPLIT_GROUP_TXT,
-1
};
LayoutHandle *Handle;
if(Handle = LT_CreateHandleTags(Parent -> WScreen,
LH_LocaleHook,&LocaleHook,
TAG_DONE))
{
STATIC struct Hook ListViewHook = { {NULL},(HOOKFUNC)PhoneListViewRender };
UWORD MaxPen;
LONG i,Max,Size;
UBYTE SmallString[2];
struct IBox Bounds;
LONG Len,LabelLen;
for(i = LabelLen = 0 ; LabelTable[i] != -1 ; i++)
{
Len = LT_LabelChars(Handle,LocaleString(LabelTable[i]));
if(Len > LabelLen)
LabelLen = Len;
}
MaxPen = MAX(Handle -> DrawInfo -> dri_Pens[BLOCKPEN],MAX(Handle -> DrawInfo -> dri_Pens[TEXTPEN],MAX(Handle -> DrawInfo -> dri_Pens[BACKGROUNDPEN],MAX(Handle -> DrawInfo -> dri_Pens[FILLTEXTPEN],MAX(Handle -> DrawInfo -> dri_Pens[FILLPEN],Handle -> DrawInfo -> dri_Pens[HIGHLIGHTTEXTPEN])))));
SmallString[1] = 0;
Max = 0;
for(i = '0' ; i <= '9' ; i++)
{
SmallString[0] = i;
if((Size = LT_LabelWidth(Handle,SmallString)) > Max)
Max = Size;
}
ListViewHook . h_Data = (APTR)Max;
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
LAGR_NoIndent, TRUE,
TAG_DONE);
{
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
BOOL HasEntries;
LONG NumEntries;
LONG NumColumns;
if(PhoneList && PhoneList -> lh_Head -> ln_Succ)
{
struct Node *Node;
LONG Len;
HasEntries = TRUE;
for(Node = PhoneList -> lh_Head, NumEntries = NumColumns = 0 ; Node -> ln_Succ ; Node = Node -> ln_Succ)
{
NumEntries++;
Len = strlen(&Node -> ln_Name[6]);
if(Len > NumColumns)
NumColumns = Len;
}
if(NumEntries < 6)
NumEntries = 6;
else
{
if(NumEntries > 46)
NumEntries = 46;
}
if(NumColumns < 46)
NumColumns = 46;
}
else
{
HasEntries = FALSE;
NumEntries = 6;
NumColumns = 46;
}
LT_New(Handle,
LA_Type, CycleType,
LACY_TabKey, TRUE,
GTCY_Labels, Labels,
LA_ID, GAD_GROUPID,
LA_ULONG, Grouper,
TAG_DONE);
LT_New(Handle,
LA_Type, LISTVIEW_KIND,
LA_ID, GAD_NAMELIST,
LALV_Columns, 46,
LALV_Lines, 6,
LALV_CursorKey, TRUE,
LALV_ResizeX, TRUE,
LALV_ResizeY, TRUE,
LALV_MaxGrowX, NumColumns,
LALV_MaxGrowY, NumEntries,
LALV_Link, NIL_LINK,
GTLV_CallBack, &ListViewHook,
GTLV_MaxPen, MaxPen,
GTLV_Labels, PhoneList,
// Kick30 ? LALV_Link : TAG_IGNORE, NIL_LINK,
Kick30 ? TAG_IGNORE : LALV_TextAttr, ~0,
Kick30 ? GA_Disabled : TAG_IGNORE, !HasEntries,
TAG_DONE);
LT_New(Handle,
LA_Type, TEXT_KIND,
LA_ID, GAD_COMMENTLINE,
GTTX_Border, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
LAGR_Spread, TRUE,
LAGR_SameSize, TRUE,
LAGR_Spread, TRUE,
TAG_DONE);
{
LT_New(Handle,
LA_Type, TAPEDECK_KIND,
LATD_ButtonType, TDBT_PREVIOUS,
LATD_Smaller, TRUE,
LA_Chars, LabelLen,
LA_ID, GAD_MOVE_FIRST,
GA_Disabled, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, TAPEDECK_KIND,
LATD_ButtonType, TDBT_REWIND,
LATD_Smaller, TRUE,
LA_ID, GAD_MOVE_UP,
GA_Disabled, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, TAPEDECK_KIND,
LATD_ButtonType, TDBT_PLAY,
LATD_Smaller, TRUE,
LA_ID, GAD_MOVE_DOWN,
GA_Disabled, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, TAPEDECK_KIND,
LATD_ButtonType, TDBT_NEXT,
LATD_Smaller, TRUE,
LA_ID, GAD_MOVE_LAST,
GA_Disabled, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
LAGR_NoIndent, TRUE,
LAGR_SameSize, TRUE,
LAGR_Spread, TRUE,
TAG_DONE);
{
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_TAG_ALL_TXT,
LA_ID, GAD_SELECT_ALL,
GA_Disabled, !NumPhoneEntries || Count == NumPhoneEntries,
LA_Chars, LabelLen,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_TOGGLE_ALL_TXT,
LA_ID, GAD_TOGGLE_ALL,
GA_Disabled, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_UNTAG_ALL_TXT,
LA_ID, GAD_CLEAR_ALL,
GA_Disabled, !Count,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_TAG_BY_PATTERN_TXT,
LA_ID, GAD_PATTERN,
GA_Disabled, !NumPhoneEntries,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, XBAR_KIND,
TAG_DONE);
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
LAGR_NoIndent, TRUE,
LAGR_SameSize, TRUE,
LAGR_Spread, TRUE,
TAG_DONE);
{
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_EDIT_ENTRY_TXT,
LA_Chars, LabelLen,
LA_ID, GAD_EDIT,
GA_Disabled, TRUE,
LABT_DefaultCorrection, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_COPY_ENTRY_TXT,
LA_ID, GAD_COPY,
GA_Disabled, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_ADD_ENTRY_TXT,
LA_ID, GAD_ADD,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_MAKE_GROUP_TXT,
LA_ID, GAD_MAKE_GROUP,
GA_Disabled, !Count,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
LAGR_NoIndent, TRUE,
LAGR_SameSize, TRUE,
LAGR_Spread, TRUE,
TAG_DONE);
{
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_DIAL_TXT,
LA_ID, GAD_DIAL,
GA_Disabled, !Count || (Online && !Config -> MiscConfig -> ProtectiveMode),
LABT_ReturnKey, TRUE,
LA_Chars, LabelLen,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_USE_ENTRY_TXT,
LA_ID, GAD_USE,
GA_Disabled, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_DELETE_ENTRY_TXT,
LA_ID, GAD_DELETE,
GA_Disabled, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_SPLIT_GROUP_TXT,
LA_ID, GAD_SPLIT_GROUP,
GA_Disabled, *Grouper == 0,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, YBAR_KIND,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, VERTICAL_KIND,
LAGR_SameSize, TRUE,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_LabelID, MSG_PHONEPANEL_AUTO_DIAL_TXT,
LA_ID, GAD_MAIN_AUTODIAL,
LA_BYTE, &PhonebookAutoDial,
LA_LabelPlace, PLACE_RIGHT,
TAG_DONE);
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_LabelID, MSG_PHONEPANEL_EXIT_WHEN_FINISHED_TXT,
LA_ID, GAD_MAIN_EXIT_WHEN_FINISHED,
LA_BYTE, &PhonebookAutoExit,
GA_Disabled, !PhonebookAutoDial,
LA_LabelPlace, PLACE_RIGHT,
TAG_DONE);
LT_New(Handle,
LA_Type, XBAR_KIND,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_PASSWORD_TXT,
LA_ID, GAD_PASSWORD,
LABT_Smaller, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, XBAR_KIND,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_LOAD_TXT,
LA_ID, GAD_LOAD,
GA_Disabled, ChosenEntry != NULL,
LABT_Smaller, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_MERGE_TXT,
LA_ID, GAD_MERGE,
GA_Disabled, !NumPhoneEntries,
LABT_Smaller, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_SAVE_TXT,
LA_ID, GAD_SAVE,
GA_Disabled, !NumPhoneEntries,
LABT_Smaller, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_PRINT_TXT,
LA_ID, GAD_PRINT,
GA_Disabled, !NumPhoneEntries,
LABT_Smaller, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_SORT_TXT,
LA_ID, GAD_SORT,
GA_Disabled, !NumPhoneEntries,
LABT_Smaller, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, XBAR_KIND,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_LabelID, MSG_PHONEBOOK_COPY_CONFIG_TXT,
LA_ID, GAD_COPY_CONFIG,
LABT_Smaller, TRUE,
GA_Disabled, !NumPhoneEntries,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
if(Parent == Window)
{
Bounds . Left = WindowLeft + Window -> LeftEdge;
Bounds . Top = WindowTop + Window -> TopEdge;
Bounds . Width = WindowWidth;
Bounds . Height = WindowHeight;
}
if(LT_Build(Handle,
LAWN_TitleText, WindowTitle ? WindowTitle : LocaleString(MSG_PHONEPANEL_PHONEBOOK_TXT),
LAWN_IDCMP, IDCMP_CLOSEWINDOW,
LAWN_Bounds, &Bounds,
LAWN_HelpHook, &GuideHook,
LAWN_Show, TRUE,
LAWN_UserPort, UserPort,
WA_DepthGadget, TRUE,
WA_DragBar, TRUE,
WA_RMBTrap, TRUE,
WA_Activate, TRUE,
WA_CloseGadget, TRUE,
// WA_SimpleRefresh, TRUE,
Parent == Window ? LAWN_Bounds : TAG_IGNORE,&Bounds,
Parent == Window ? TAG_IGNORE : LAWN_Parent,Parent,
TAG_DONE))
return(Handle);
else
LT_DeleteHandle(Handle);
}
return(NULL);
}
LayoutHandle * __regargs
CreateSelectorHandle(struct Window *Parent,STRPTR Name,STRPTR Number,STRPTR Comment,BYTE *Mode)
{
LayoutHandle *Handle;
if(Handle = LT_CreateHandleTags(Parent -> WScreen,
LH_LocaleHook,&LocaleHook,
TAG_DONE))
{
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CYCLE_KIND,
LA_ID, GAD_SELECT_MODE,
LA_Chars, 40,
LA_BYTE, Mode,
LACY_TabKey, TRUE,
LACY_FirstLabel,MSG_PHONEBOOK_TAG_ENTRIES1_TXT,
LACY_LastLabel, MSG_PHONEBOOK_TAG_ENTRIES2_TXT,
TAG_DONE);
LT_New(Handle,
LA_Type, STRING_KIND,
LA_ID, GAD_SELECT_NAME,
LA_LabelID, MSG_PHONEBOOK_SYSTEM_NAME_TXT,
LA_STRPTR, Name,
GTST_MaxChars, 63,
TAG_DONE);
LT_New(Handle,
LA_Type, STRING_KIND,
LA_ID, GAD_SELECT_COMMENT,
LA_LabelID, MSG_PHONEBOOK_COMMENT_TXT,
LA_STRPTR, Comment,
LAST_LastGadget,TRUE,
GTST_MaxChars, 63,
TAG_DONE);
LT_New(Handle,
LA_Type, STRING_KIND,
LA_ID, GAD_SELECT_NUMBER,
LA_LabelID, MSG_PHONEBOOK_NUMBERS_TXT,
LA_STRPTR, Number,
GTST_MaxChars, 63,
TAG_DONE);
LT_New(Handle,
LA_Type, XBAR_KIND,
LAXB_FullWidth, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
LAGR_SameSize, TRUE,
LAGR_Spread, TRUE,
TAG_DONE);
{
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_ID, GAD_SELECT_APPLY,
LA_LabelID, MSG_PHONEBOOK_APPLY_TXT,
LABT_ExtraFat, TRUE,
LABT_ReturnKey, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_ID, GAD_SELECT_APPLY_AND_CLOSE,
LA_LabelID, MSG_PHONEBOOK_APPLY_AND_CLOSE_TXT,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_ID, GAD_SELECT_CLOSE,
LA_LabelID, MSG_GLOBAL_CLOSE_TXT,
LABT_EscKey, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
if(LT_Build(Handle,
LAWN_TitleID, MSG_PHONEBOOK_EDIT_PATTERNS_TXT,
LAWN_IDCMP, IDCMP_CLOSEWINDOW,
LAWN_HelpHook, &GuideHook,
LAWN_Show, TRUE,
LAWN_Parent, Parent,
LAWN_UserPort, Parent -> UserPort,
WA_DepthGadget, TRUE,
WA_DragBar, TRUE,
WA_RMBTrap, TRUE,
WA_Activate, TRUE,
WA_CloseGadget, TRUE,
WA_SimpleRefresh, TRUE,
TAG_DONE))
return(Handle);
else
LT_DeleteHandle(Handle);
}
return(NULL);
}
LayoutHandle * __regargs
CreateGroupHandle(struct Window *Parent,STRPTR *Labels,ULONG Group)
{
LayoutHandle *Handle;
if(Handle = LT_CreateHandleTags(Parent -> WScreen,
LH_LocaleHook,&LocaleHook,
TAG_DONE))
{
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CycleType,
LA_ID, GAD_GROUP_LIST,
GTCY_Labels, Labels,
GTCY_Active, Group,
LACY_TabKey, TRUE,
LA_LabelID, MSG_PHONEBOOK_PICK_GROUP_TXT,
TAG_DONE);
LT_New(Handle,
LA_Type, STRING_KIND,
LA_ID, GAD_GROUP_NAME,
LA_LabelID, MSG_PHONEBOOK_OR_ENTER_NAME_TXT,
LA_Chars, 30,
GTST_MaxChars, 39,
GTST_String, Labels[Group],
TAG_DONE);
LT_New(Handle,
LA_Type, XBAR_KIND,
LAXB_FullWidth, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
LAGR_SameSize, TRUE,
LAGR_Spread, TRUE,
TAG_DONE);
{
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_ID, GAD_GROUP_OK,
LA_LabelID, MSG_GLOBAL_USE_GAD,
LABT_ExtraFat, TRUE,
LABT_ReturnKey, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_ID, GAD_GROUP_CANCEL,
LA_LabelID, MSG_GLOBAL_CANCEL_GAD,
LABT_EscKey, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
if(LT_Build(Handle,
LAWN_TitleID, MSG_PHONEBOOK_SELECT_GROUP_TXT,
LAWN_IDCMP, IDCMP_CLOSEWINDOW,
LAWN_HelpHook, &GuideHook,
LAWN_Show, TRUE,
LAWN_Parent, Parent,
LAWN_UserPort, Parent -> UserPort,
WA_DepthGadget, TRUE,
WA_DragBar, TRUE,
WA_RMBTrap, TRUE,
WA_Activate, TRUE,
WA_CloseGadget, TRUE,
// WA_SimpleRefresh, TRUE,
TAG_DONE))
{
LT_Activate(Handle,GAD_GROUP_NAME);
return(Handle);
}
else
LT_DeleteHandle(Handle);
}
return(NULL);
}
LayoutHandle * __regargs
CreateSortHandle(struct Window *Parent,WORD *Criteria,BOOL *Reverse)
{
LayoutHandle *Handle;
if(Handle = LT_CreateHandleTags(Parent -> WScreen,
LH_LocaleHook,&LocaleHook,
TAG_DONE))
{
LT_New(Handle,
LA_Type, HORIZONTAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, MX_KIND,
LA_ID, GAD_SORT_CRITERIA,
LAMX_FirstLabel,MSG_PHONEBOOK_SORTORDER1_TXT,
LAMX_LastLabel, MSG_PHONEBOOK_SORTORDER4_TXT,
LAMX_TabKey, TRUE,
LA_WORD, Criteria,
LA_LabelID, MSG_SORT_CRITERIA_TXT,
TAG_DONE);
LT_New(Handle,
LA_Type, XBAR_KIND,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, CHECKBOX_KIND,
LA_ID, GAD_SORT_REVERSE,
LA_LabelID, MSG_REVERSE_ORDER_TXT,
LA_BOOL, Reverse,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, VERTICAL_KIND,
TAG_DONE);
{
LT_New(Handle,
LA_Type, YBAR_KIND,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_New(Handle,
LA_Type, VERTICAL_KIND,
LAGR_SameSize, TRUE,
LAGR_Spread, TRUE,
TAG_DONE);
{
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_ID, GAD_SORT_IT,
LA_LabelID, MSG_JUST_SORT_TXT,
LABT_ReturnKey, TRUE,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_ID, GAD_SORT_AND_CLOSE,
LA_LabelID, MSG_SORT_AND_CLOSE_TXT,
TAG_DONE);
LT_New(Handle,
LA_Type, BUTTON_KIND,
LA_ID, GAD_SORT_JUST_CLOSE,
LA_LabelID, MSG_GLOBAL_CLOSE_TXT,
LABT_EscKey, TRUE,
TAG_DONE);
LT_EndGroup(Handle);
}
LT_EndGroup(Handle);
}
if(LT_Build(Handle,
LAWN_TitleID, MSG_SORT_PHONEBOOK_TXT,
LAWN_IDCMP, IDCMP_CLOSEWINDOW,
LAWN_HelpHook, &GuideHook,
LAWN_Show, TRUE,
LAWN_Parent, Parent,
LAWN_UserPort, Parent -> UserPort,
WA_DepthGadget, TRUE,
WA_DragBar, TRUE,
WA_RMBTrap, TRUE,
WA_Activate, TRUE,
WA_CloseGadget, TRUE,
WA_SimpleRefresh, TRUE,
TAG_DONE))
return(Handle);
else
LT_DeleteHandle(Handle);
}
return(NULL);
}